<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <style type="text/css">
    <!--
        h3.tighter {
            margin-top: 0px;
        }
        p.hang {
            padding-left: 25px;
            text-indent: -25px;
            margin-top: 0px;
            margin-bottom: 0px;
        }
        p.in1 {
            padding-left: 0px;
        }
        p.tightin1 {
            padding-left: 0px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin1 {
            padding-left: 0px;
            margin-bottom: 2px;
        }
        p.hangingin1 {
            padding-left: 50px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in2 {
            padding-left: 25px;
        }
        p.tightin2 {
            padding-left: 25px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin2 {
            padding-left: 25px;
            margin-bottom: 2px;
        }
        p.hangingin2 {
            padding-left: 75px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in3 {
            padding-left: 50px;
        }
        p.tightin3 {
            padding-left: 50px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin3 {
            padding-left: 50px;
            margin-bottom: 2px;
        }
        p.hangingin3 {
            padding-left: 100px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in4 {
            padding-left: 75px;
        }
        p.tightin4 {
            padding-left: 75px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin4 {
            padding-left: 75px;
            margin-bottom: 2px;
        }
        p.hangingin4 {
            padding-left: 125px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in5 {
            padding-left: 100px;
        }
        p.tightin5 {
            padding-left: 100px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin5 {
            padding-left: 100px;
            margin-bottom: 2px;
        }
        p.hangingin5 {
            padding-left: 150px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in6 {
            padding-left: 125px;
        }
        p.tightin6 {
            padding-left: 125px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin6 {
            padding-left: 125px;
            margin-bottom: 2px;
        }
        p.hangingin6 {
            padding-left: 175px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in7 {
            padding-left: 150px;
        }
        p.tightin7 {
            padding-left: 150px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin7 {
            padding-left: 150px;
            margin-bottom: 2px;
        }
        p.hangingin7 {
            padding-left: 200px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in8 {
            padding-left: 175px;
        }
        p.tightin8 {
            padding-left: 175px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin8 {
            padding-left: 175px;
            margin-bottom: 2px;
        }
        p.hangingin8 {
            padding-left: 225px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in9 {
            padding-left: 200px;
        }
        p.tightin9 {
            padding-left: 200px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin9 {
            padding-left: 200px;
            margin-bottom: 2px;
        }
        p.hangingin9 {
            padding-left: 250px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        div.hr {
            border: 0;
            width: 100%;
            color: #707070;
            background-color: #707070;
            height: 5px;
        }
    -->
</style>
<script type="text/javascript">
    function showExtra(id, imid) {
        if (document.getElementById(id).style.display == 'block') {
            document.getElementById(id).style.display = 'none';
            document.getElementById(imid).src = 'inform:/extra.png';
        } else {
            document.getElementById(id).style.display = 'block';
            document.getElementById(imid).src = 'inform:/extraclose.png';
        }
    }
</script>
</head>
<body><font size=2>
<!--CONTENT BEGINS-->
<!--NAVIGATION BEGINS-->
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #e0e0e0"><tr><td width="8"><img src="inform:/tl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td><td></td><td width="8"><img src="inform:/tr_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td></tr><tr><td width="8"></td><td><font size=2><table border="0" cellspacing="0" cellpadding="0" width=100%><tr><td align="left" valign="top" width="72"><font size=2><img border=1 src=inform:/doc_images/Actions.png title="The Actions Index"> &nbsp;&nbsp;&nbsp;&nbsp;</font></td><td align="left" valign="top"><font size=2><h3 class="tighter"><b>Actions</b>: Detail view&nbsp;&nbsp;<a href=../Actions.html><font color="#002060"><i>Back to full view</i></font></a></h3><p>
<p class="tightin1">A single action in detail.<br><i>About the action rulebooks&nbsp;&nbsp;<a href=inform:/doc188.html><img border=0 src=inform:/help.png></a></i></p>
</font></td></tr></table></font></td><td width="8"></td></tr><tr><td width="8"><img src="inform:/bl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td><td></td><td width="8"><img src="inform:/br_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td></tr></table></p><p>
<!--NAVIGATION ENDS-->
<b>Standard actions concerning other people</b><br><b>Giving it to</b>&nbsp;<a href=24_A.html><img border=0 src=inform:/Beneath.png></a>, Showing it to&nbsp;<a href=25_A.html><img border=0 src=inform:/Beneath.png></a>, Waking&nbsp;<a href=26_A.html><img border=0 src=inform:/Beneath.png></a>, Throwing it at&nbsp;<a href=27_A.html><img border=0 src=inform:/Beneath.png></a>, Attacking&nbsp;<a href=28_A.html><img border=0 src=inform:/Beneath.png></a>, Kissing&nbsp;<a href=29_A.html><img border=0 src=inform:/Beneath.png></a>, Answering it that&nbsp;<a href=30_A.html><img border=0 src=inform:/Beneath.png></a>, Telling it about&nbsp;<a href=31_A.html><img border=0 src=inform:/Beneath.png></a>, Asking it about&nbsp;<a href=32_A.html><img border=0 src=inform:/Beneath.png></a>, Asking it for&nbsp;<a href=33_A.html><img border=0 src=inform:/Beneath.png></a><p><hr><p><b>Giving <font color="#000080">something</font> to <font color="#000080">something</font> </b><a name=Give></a> (<i>past tense</i> given it to)<br>
<p>This action is indexed by
Inform under 'Actions concerning other people', but it could just as easily
have gone under 'Actions concerning the actor's possessions' because -
like dropping, putting it on or inserting it into - this is an action
which gets rid of something being carried.<br><br>The Standard Rules implement this action fully - if it reaches the carry
out and report rulebooks, then the item is indeed transferred to the
recipient, and this is properly reported. But giving something to
somebody is not like putting something on a shelf: the recipient has
to agree. The final check rule, the 'block giving rule', assumes that
the recipient does not consent - so the gift fails to happen. The way
to make the giving action use its abilities fully is to replace the
block giving rule with a rule which makes a more sophisticated decision
about who will accept what from whom, and only blocks some attempts,
letting others run on into the carry out and report rules.<p><hr><p><b>Typed commands leading to this action</b><p>
<p class="hangingin2">&quot;give [something preferably held] to [someone]&quot;</p><p class="hangingin2">&quot;give [someone] [something preferably held]&quot; <i>reversed</i></p><p><b>Rules controlling this action</b><p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>yourself giving a part to a bot</i>&nbsp;&nbsp;&nbsp;<a href="source:story.ni#line47"><img border=0 src=inform:/Reveal.png></a></p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor giving something to</i>&nbsp;&nbsp;<font color="#800000">can't give what you haven't got rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1718(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('can[=0x0027=]t give what you haven[=0x0027=]t got rule');
}
</script>
<a href="javascript:pasteCode1718()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1719(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The can[=0x0027=]t give what you haven[=0x0027=]t got rule is not listed in the check giving it to rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1719()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor giving something to</i>&nbsp;&nbsp;<font color="#800000">can't give to yourself rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1720(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('can[=0x0027=]t give to yourself rule');
}
</script>
<a href="javascript:pasteCode1720()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1721(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The can[=0x0027=]t give to yourself rule is not listed in the check giving it to rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1721()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor giving something to</i>&nbsp;&nbsp;<font color="#800000">can't give to a non-person rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1722(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('can[=0x0027=]t give to a non-person rule');
}
</script>
<a href="javascript:pasteCode1722()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1723(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The can[=0x0027=]t give to a non-person rule is not listed in the check giving it to rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1723()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor giving something to</i>&nbsp;&nbsp;<font color="#800000">can't give clothes being worn rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1724(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('can[=0x0027=]t give clothes being worn rule');
}
</script>
<a href="javascript:pasteCode1724()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1725(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The can[=0x0027=]t give clothes being worn rule is not listed in the check giving it to rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1725()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small><i>NB:</i> the block giving rule is not listed in the check giving it to rules&nbsp;<a href="source:story.ni#line8"><img border=0 src=inform:/Reveal.png></a></small><br>
<br><p class="hangingin2">carry out&nbsp;&nbsp;&nbsp;&nbsp;<i>yourself giving a power cell to CZ5</i>&nbsp;&nbsp;&nbsp;<a href="source:story.ni#line52"><img border=0 src=inform:/Reveal.png></a></p>
<p class="hangingin2">carry out&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor giving something to</i>&nbsp;&nbsp;<font color="#800000">standard giving rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1726(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('standard giving rule');
}
</script>
<a href="javascript:pasteCode1726()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1727(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The standard giving rule is not listed in the carry out giving it to rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1727()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p class="hangingin2">report&nbsp;&nbsp;&nbsp;&nbsp;<i>yourself giving a power cell to CZ5</i>&nbsp;&nbsp;&nbsp;<a href="source:story.ni#line55"><img border=0 src=inform:/Reveal.png></a></p>
<p class="hangingin2">report&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor giving something to</i>&nbsp;&nbsp;<font color="#800000">standard report giving rule</font>&nbsp;&nbsp;<script language="JavaScript">
function pasteCode1728(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('standard report giving rule');
}
</script>
<a href="javascript:pasteCode1728()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <script language="JavaScript">
function pasteCode1729(code) {
    var myProject = external.Project;

    myProject.selectView('source');
    myProject.pasteCode('The standard report giving rule is not listed in the report giving it to rulebook.[=0x000A=]');
}
</script>
<a href="javascript:pasteCode1729()"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p>
<!--CONTENT ENDS-->
</font></body></html>